/**
 * Copyright(C) 2012 Luvina Software Company
 * TblUserLogic.java, Aug 24, 2012 Ngo Quang Tinh
 */
package net.luvina.manageuser.logic;
import java.util.List;

import net.luvina.manageuser.dto.UserDetailDto;
import net.luvina.manageuser.hibernate.MstGroup;
import net.luvina.manageuser.hibernate.TblUser;

/**
 * @author Ngo Quang Tinh
 * hàm giao diện tbluserlogic
 * Xử lý logic liên quan đến thông tin của user
 */
public interface TblUserLogic {

    /**
     * Lấy danh sách  user
     * Gọi hàm tblUserDao.getListUser(offset, limit, groupId, fullName,sortType, sortByFullName, sortByCodeLevel, sortByEndDate)
     * @param int offset vị trí data cần lấy nào
     * @param int limit số lượng lấy
     * @param int groupId mã nhóm search
     * @param String fullName full_name search
     * @param String sortType: full_name or end_date or code_level
     * @param String sortByFullName: ASC or DESC
     * @param String sortByCodeLevel: ASC or DESC
     * @param String sortByEndDate: ASC or DESC
     * @return List<UserDetailDto> danh sach user
     */
    public List<UserDetailDto> getListUser(int offset, int limit, int groupId, String fullName, String sortType,
            String sortByFullName, String sortByCodeLevel, String sortByEndDate);
    /**
     *
     * @return List<MstGroup> danh sách group
     */
    public List<MstGroup> getGroupList();
}
